package com.chat.api.exception;

/**
 * Restful接口类型的，页面只接收400、200的状态码.
 */
public enum CoreExceptionEnum implements AbstractBaseExceptionEnum {
    /**
     * 其他
     */
    INVLIDE_DATE_STRING(400, "输入日期格式不对"),

    JUMP_PAGE(666,"页面跳转"),

    /**
     * 初始化数据库的异常
     */
    NO_CURRENT_USER(700, "当前没有登录的用户"),
    INIT_TABLE_EMPTY_PARAMS(701, "初始化数据库，存在为空的字段"),

    /**
     * 参数错误
     * */
    INVALID_PARAM(406,"数据类型错误"),
    
    /**
     * 其他
     */
    WRITE_ERROR(500, "渲染界面错误"),
    ENCRYPT_ERROR(600, "加解密错误"),
    API_ERROR(800, "API接口错误"),
    API_CHECK_ERROR(801, "API接口验证错误"),
    API_ACCESS_ERROR(802, "API接口需要访问登录界面"),//同302
    API_PERMISSION_ERROR(803, "此用户无访问权限"),
    API_POINTLOCATION_ERROR(804, "此用户无有效的点位"),

    /**
     * 文件上传
     */
    FILE_READING_ERROR(400, "FILE_READING_ERROR!"),
    FILE_NOT_FOUND(400, "FILE_NOT_FOUND!"),

    /**
     * 数据库字段与实体字段不一致
     */
    FIELD_VALIDATE_ERROR(700, "数据库字段与实体字段不一致!"),

    /**
     * 错误的请求
     */
    PAGE_NULL(404, "请求页面不存在"),
    IO_ERROR(500, "流读取异常"),
    SERVICE_ERROR(500, "服务器异常"),
    REMOTE_SERVICE_NULL(404, "远程服务不存在"),
    ASYNC_ERROR(5000, "数据在被别人修改，请稍后重试"),
	
    OK(200, "操作成功"),
    E_FAIL(400, "操作失败"),
    E_SYS(400, "系统错误"),
    E_PATH(400, "用户访问错误"),
	E_UNAUTHORIZED(401, "用户权限验证错误"),
	E_ACCESS(404, "用户访问错误"),
	E_INVALID_API_KEY(405, "API Key不可用"),
	E_INVALID_PARAM(406, "访问参数不可用"),
	E_NOT_SUPPORT(407, "不支持"),
	E_INVALID_SIGN(408, "标识不可用"),
	E_KEY_EXPIRED(409, "KEY EXPIRED"),
	E_KEY_EXIST(410, "KEY不存在"),
	E_INVALID_PWD(411, "密码不可用"),
	E_REPEATED_NAME(412, "有重名"),
	E_NOINIT_PWD(413, "企业未设置初始密码");
    CoreExceptionEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    private Integer code;

    private String message;

    @Override
    public Integer getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return message;
    }
}
